/*
 * Vendedor.cpp
 *
 */

#include <sstream>
#include "VendedorAPI.h"
#include "../logger/logger.h"

namespace application {

VendedorAPI::VendedorAPI()
{
}

VendedorAPI::~VendedorAPI()
{
}

OrdenCompra VendedorAPI::hacerOrdenCompra(int clientId,ProductoCantidadList &productList)
{
	int vendedorId;
	OrdenCompra ordenCompra;
	std::stringstream ss;

	CLogger::log("Se pide un id de vendedor", LogLevelEnum::TRACE);
	vendedorId = m_Comunicacion.getVendedorId();

	ss << "Se obtuvo el id de vendedor:"<<vendedorId;
	CLogger::log(ss.str(), LogLevelEnum::TRACE);

	//Se hace la orden de compra al vendedor especifico
	//Esto internamente espera a que el servidor responda OK
	ordenCompra.header.ordenCompraId = m_Comunicacion.generateOrdenCompraId();
	ordenCompra.header.vendedorId = vendedorId;
	ordenCompra.header.clientId = clientId;
	ordenCompra.productos = productList;

	m_Comunicacion.sendOrdenCompra(ordenCompra);

	return ordenCompra;
}

} /* namespace application */
